package com.demo.pojo.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 高级智能排课请求DTO
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AdvancedScheduleRequestDTO {
    
    /**
     * 学期
     */
    private String semester;
    
    /**
     * 选择的班级ID列表
     */
    private List<Long> selectedClazzIds;
    
    /**
     * 选择的课程ID列表
     */
    private List<Long> selectedCourseIds;
    
    /**
     * 每个班级每周最大课时数（默认12节）
     */
    private Integer maxPeriodsPerWeek = 12;
    
    /**
     * 每天最大课时数（默认8节）
     */
    private Integer maxPeriodsPerDay = 8;
    
    /**
     * 是否均匀分配每天课程（默认true）
     */
    private Boolean evenDistribution = true;
    
    /**
     * 是否避免教师时间冲突（默认true）
     */
    private Boolean avoidTeacherConflict = true;
    
    /**
     * 是否避免教室时间冲突（默认true）
     */
    private Boolean avoidClassroomConflict = true;
    
    /**
     * 排课优先级（1-5，默认3）
     */
    private Integer priority = 3;
    
    /**
     * 备注
     */
    private String remark;
}
























